The Design and Implementation of P2V, An Architecture for Zero-Overhead Online Verification of Software Programs

نویسندگان

  • Hong Lu
  • Alessandro Forin
چکیده

The PSL-to-Verilog (P2V) compiler can translate a set of assertions about a block-structured software program into a hardware design to be executed concurrently with the execution of the software program. The assertions validate the correctness of the software program without altering its temporal behavior in any way, a result that has never been previously achieved by any online model-checking system. The technique and the implementation apply to any general purpose program and the absence of execution overheads makes the system ideal for the verification and debugging of real-time systems. The assertions are expressed in the simple subset of the Property Specification Language PSL, an IEEE standard originally intended for the behavioral specification of hardware designs. The target execution system is the eMIPS processor, a dynamically self-extensible processor realized with an FPGA. The system can concurrently execute and check multiple programs at a time. Assertions are compiled into eMIPS Extensions, which are loaded by the operating system software into a portion of the FPGA at program loading time, and discarded once the program terminates. If an assertion is violated the program receives an exception, otherwise it executes fully unaware of its verifier. The software program does not need to be modified in any way, it can be compiled separately with full optimizations and executes with or without the corresponding hardware checker. The P2V compiler is implemented in Python. It generates code for the implementation of the eMIPS processor running on the Xilinx ML401 development board. It is currently used to verify software properties in such areas as testing and debugging, intrusion detection, and the behavioral verification of concurrent and realtime programs.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Trust Based Probabilistic Method for Efficient Correctness Verification in Database Outsourcing

Correctness verification of query results is a significant challenge in database outsourcing. Most of the proposed approaches impose high overhead, which makes them impractical in real scenarios. Probabilistic approaches are proposed in order to reduce the computation overhead pertaining to the verification process. In this paper, we use the notion of trust as the basis of our probabilistic app...

متن کامل

Introduction of a Reliable Software for the Calculation of the Gamma Index

Introduction: The gamma index is a known parameter for radiotherapy dose verification. Many free and commercial programs have been written for the calculation of this index. However, the verification of the results has been overlooked in many of the programs. The present study tested the validity of three gamma index calculator programs. Material and ...

متن کامل

Proposing an Appropriate Architecture for Decision Support Systems in the Field of Complex Chronic Care: Micro-Services Based Software Architecture in Kidney Transplant Care

Introduction: Development and successfully implementation of knowledge based clinical decision support system (KBCDSS) in kidney transplantation (KT) could support decision-making, reduce cost and improve quality of care. For practical use of these systems, however, many challenges have to be met.  Besides to well-recognized challenges of design and implementation of information systems in heal...

متن کامل

Proposing an Appropriate Architecture for Decision Support Systems in the Field of Complex Chronic Care: Micro-Services Based Software Architecture in Kidney Transplant Care

Introduction: Development and successfully implementation of knowledge based clinical decision support system (KBCDSS) in kidney transplantation (KT) could support decision-making, reduce cost and improve quality of care. For practical use of these systems, however, many challenges have to be met.  Besides to well-recognized challenges of design and implementation of information systems in heal...

متن کامل

Design and Implementation of an Online Test System to Evaluate the Students more Precisely and Improve the Quality of Education

Introduction: Evaluation, play a role in increasing motivation, raising the level of students knowledge, and improving the quality of teaching. Today, educational technology is used to assess the level of learning and to improve the level of student’s knowledge and to increase the incentive to participate in classrooms. This article aims to design and implement an online test system to conduct ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007